Aggregation data source matching and merging

ABSTRACT

The disclosure extends to methods, systems, and computer program products for moving one or more user accounts from one institution to another over a network of computers. The method and system may include receiving a request from a user to move one or more accounts between a first institution and a second institution, retrieving old account data corresponding to the request from the first institution, scraping field values from the old account data and storing said field values in computer memory, populating form fields within a plurality of new accounts with field values retrieved from the computer memory as required by the second institution in order to create the new accounts with the second institution, and closing old accounts with the first institution.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/744,398, filed Sep. 25, 2012, which is hereby incorporated byreference herein in its entirety, including but not limited to thoseportions that specifically appear hereinafter, the incorporation byreference being made with the following exception: In the event that anyportion of the above-referenced provisional application is inconsistentwith this application, this application supersedes said above-referencedprovisional application.

FIELD OF THE DISCLOSURE

The disclosure relates generally to methods, systems, and computerprogram products for moving one or more user accounts from oneinstitution to another over a network of computers. The disclosurerelates more specifically, but not necessarily entirely, to methods,systems and computer program products that receive a request from a userto move one or more accounts between a first financial institution and asecond financial institution, retrieve old account data corresponding tothe request from the first financial institution, scrape field valuesfrom the old account data, populate form fields within a plurality ofnew accounts with field values retrieved from the computer memory asrequired by the second financial institution in order to create the newaccounts with the second financial institution, and close old accountswith the first financial institution.

BACKGROUND

Many people/users are associated with multiple accounts, such as email,frequent flyer or financial accounts, such as checking accounts, savingsaccounts, retirement accounts, money market accounts, certificate ofdeposit accounts, and various debt accounts, by way of example, forhomes, automobiles, boats, educational expenses, credit cards and otherpersonal property. Further, many of these users may have insuranceaccounts, such as life, home, health, automobile or other insuranceaccounts with a financial institution. Advances in technology haveallowed institutions and businesses, such as banking and financialinstitutions, to provide their customers with easy access to theirvarious accounts via software applications and other online access. Theresult is that a single user may have a proliferation of accounts atmore than one institution or business, including banking or financialinstitutions.

For example, a user may have a checking account and a savings account ata local or regional banking institution. That same user may have amortgage account from a national lender for a home, a financial loan ora debt account for an automobile, and a financial loan or a debt accountfor college educational expenses. The user may also have a lifeinsurance account, a health insurance account and a health savingsaccount all at different banking or financial institutions. Further, theuser may have one or more email account, frequent flyer account and soforth all with passwords or personal identification numbers that must beremembered by a user. Accordingly, it is difficult for users to maintainall of these various accounts. In response to the problem ofproliferation of user accounts, personal financial management (PFM)providers have provided many with a solution of bringing all of a user'sfinancial and other account information together in a single location. APFM is a computer interface for assisting users with financial servicesand information.

A further problem arises when a user decides to change or switch fromone institution, such as banking institution, a financial institution ordata aggregator, to another. The process of changing accountinformation, from one institution to another, whether directly orthrough a third party data management provider, can be difficult andtime consuming for a user or institution, such as a banking or financialinstitution.

Due to the proliferation of the internet and the number of user accountsthat are available through software applications or online accessthrough various providers, data aggregators have become increasinglyimportant in order to handle the large amount of data generated bymillions of user accounts. Data aggregators are involved in compilinginformation and data from detailed databases regarding individuals andproviding or selling that information to others, such as personalfinancial management providers. The potential of the internet toconsolidate and manipulate information has a new application in dataaggregation, which is also known as screen scraping. The internet andPFM providers allow users the opportunity to consolidate their usernamesand passwords, or PINs in one location. Such consolidation enablesconsumers to access a wide variety of PIN-protected websites containingpersonal information by using one master PIN on a single website, suchas through a PFM provider or otherwise. Online account providers includefinancial institutions, stockbrokers, airline and frequent flyer andother reward programs, and e-mail accounts. Data aggregators may gatheraccount or other information about individuals from designated websitesby using account holders' PINs, and then making the users' accountinformation available to them at a single website operated by theaggregator or other third party at an account holder's request.Aggregation services may be offered on a standalone basis or inconjunction with other financial services, such as portfolio trackingand bill payment provided by a specialized website, or as an additionalservice to augment the online presence of an enterprise establishedbeyond the virtual world, such as a banking or financial institution.Many established companies with an internet presence recognize the valueof offering an aggregation service to enhance other web-based servicesand attract visitors to their websites. Offering a data aggregationservice to a website may be attractive because of the potential that itwill frequently draw users of the service to the hosting website.However, a problem may arise when a data aggregator's services aretemporarily halted, become too expensive for third party businesses toutilize or otherwise become unavailable for some reason. The result isthat account information may need to be moved by a user or third partyto another institution, such as a personal financial management provideror financial institution.

Accordingly, the disclosure relates to a method and system for moving atleast one account from one institution to another over a network ofcomputers. The features and advantages of the disclosure will be setforth in the description which follows, and in part will be apparentfrom the description, or may be learned by the practice of thedisclosure without undue experimentation. The features and advantages ofthe disclosure may be realized and obtained by means of the computingsystems and combinations of firmware, software and hardware,particularly pointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive implementations of the disclosure aredescribed with reference to the following figures, wherein likereference numerals refer to like parts throughout the various viewsunless otherwise specified. Advantages of the disclosure will becomebetter understood with regard to the following description andaccompanying drawings where:

FIG. 1 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers in accordance with the principlesand teachings of the disclosure;

FIG. 2 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers using an aggregation provider ordirect access with an application programming interface in accordancewith the principles and teachings of the disclosure;

FIG. 3 illustrates implementations of a method and system for moving atleast one account from one financial institution to another over anetwork of computers in accordance with the principles and teachings ofthe disclosure;

FIG. 4 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers where user accounts are compared toexpected or anticipated account information using transaction matchingin accordance with the principles and teachings of the disclosure;

FIG. 5 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers where user accounts are compared toexpected or anticipated account information using fuzzy patternmatching, string matching, such as a Levenshtein model or other stringmatching, or crowd sourcing in accordance with the principles andteachings of the disclosure;

FIG. 6 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers where user accounts are compared toexpected or anticipated account information using transaction matchingand also implementing an accuracy check by the user in accordance withthe principles and teachings of the disclosure;

FIG. 7 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers where user accounts are compared toexpected or anticipated account information using transaction matchingand also verifying the accuracy of the comparison in accordance with theprinciples and teachings of the disclosure;

FIG. 8 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers using an optimized aggregationrouter to collect user account information and data where user accountsare compared to expected or anticipated account information usingtransaction matching and also implementing an accuracy check by the userin accordance with the principles and teachings of the disclosure;

FIG. 9 illustrates a flow chart of an implementation of a method andsystem for moving at least one account from one financial institution toanother over a network of computers using direct access with anapplication programming interface to collect user account informationand data where user accounts are compared to expected or anticipatedaccount information using transaction matching and also implementing anaccuracy check by the user in accordance with the principles andteachings of the disclosure;

FIG. 10 illustrates various hardware components utilized in the systemfor moving at least one account from one financial institution toanother over a network of computers in accordance with the principlesand teachings of the disclosure; and

FIG. 11 illustrates an implementation of an exemplary computing networkthat may be used by the financial industry in accordance with theprinciples and teachings of the disclosure.

DETAILED DESCRIPTION

The disclosure extends to methods, systems, and computer based productsfor moving at least one account from one financial institution toanother over a network of computers. In the following description of thedisclosure, reference is made to the accompanying drawings, which form apart hereof, and in which is shown by way of illustration specificimplementations in which the disclosure may be practiced. It isunderstood that other implementations may be utilized and structuralchanges may be made without departing from the scope of the disclosure.

In describing and claiming the subject matter of the disclosure, thefollowing terminology will be used in accordance with the definitionsset out below.

It must be noted that, as used in this specification and the appendedclaims, the singular forms “a,” “an,” and “the” include plural referentsunless the context clearly dictates otherwise.

As used herein, the terms “comprising,” “including,” “containing,”“characterized by,” and grammatical equivalents thereof are inclusive oropen-ended terms that do not exclude additional, unrecited elements ormethod steps.

As used herein, the phrase “consisting of” and grammatical equivalentsthereof exclude any element or step not specified in the claim.

As used herein, the phrase “consisting essentially of” and grammaticalequivalents thereof limit the scope of a claim to the specifiedmaterials or steps and those that do not materially affect the basic andnovel characteristic or characteristics of the claimed disclosure.

As used herein, the term “user” is intended to denote a person or entitywith the ability initiate the methods described herein through a systemas described herein.

As used herein, a “personal financial manager” and “PFM” is intended tomean some application or program that provide a user interface to a userwhile providing access to aggregators over a computer network.

In response to the problem of proliferation of user accounts,institutions (such as personal financial management providers) haveprovided many with a solution of bringing all of a user's financial andother account information together in a single location. In response tothe problem of a user moving or switching accounts or account providersfor one reason or another. The disclosure addresses the above notedproblems using a method and system for moving at least one account fromone institution to another over a network of computers as disclosed anddescribed more fully herein.

The disclosure relates further to a method and system of taking two ormore sets of data, including but not limited to financial account data,and running an analysis on categories or areas where the data mightoverlap. For example, data may be obtained for a specified date range oftransactions. That data may then be used to determine the likelihoodthat the sets of data are the same original source of data. It will beappreciated that the determination may be based on a predeterminedthreshold, such that when the threshold is met there is no furtherconfirmation, whether by a user or otherwise, that is needed and theaccounts are determined to be the same or overlapping. However, when thethreshold is not met, then further confirmation, whether from the user(account holder) or from some other source, must be obtained beforeconfirming that the accounts are same or overlapping. Other data points,in addition to any overlapped data, may also be used. In an example offinancial account data, the other data points may include financialinstitution name, account number, account type, account description orsimilar data points without departing from the scope of the disclosure.

In an implementation and by way of a hypothetical example of thedisclosure, a checking account from Acme Financial may be aggregatedfrom a source, such as an Open Financial Exchange (OFX), over a periodof time. However, if that institution's OFX server becomes unavailablefor any reason, and a different aggregation or other source ofinformation is switched, for example to another aggregator source suchas ByAllAccounts, then it may be advantageous for the old account data(from the OFX feed, which may go back months or years and may alreadyinclude custom categorization, tagging, memos, splits and the like) tonot just be replaced by the new data feed (which may only go back amonth or two and clearly does not have the custom data), but to bemerged with the new data. The problem is that the new data feed may nothave the same fields available or may call those fields by differentnames or different identifying characteristics and therefore maydetermine that the new source is not just a new source for the sameaccounts at Acme Financial, but are mistaken as new accounts.

In an implementation and by way of further example of the disclosure, anaggregator or other financial institution, such as OFX as used in theimplementation and example above, may have called the same checkingaccount “Free Checking *0278” where the feed at ByAllAccounts, which wasrecently switched from another aggregator source, may call it “AcmeFreeChecking *0278.” In an implementation of the disclosure, the systemneeds to know that the plurality of accounts, for example two accounts,although identified as being slightly different, or in some instancescompletely different, are actually the exact same account at AcmeFinancial. In an implementation and example of the disclosure, theaccount holder or end-user and the plurality of accounts, for exampletwo accounts, should be merged together complete with the transactionswithin the account.

It will be appreciated that the disclosure uses an algorithm fordetermining if the plurality of accounts, for example two accounts, arein fact the same and also determines the probability of the accountsbeing the same using several factors or indicators. The probability maythen be compared against a threshold to determine or confirm accuracythat the accounts are the same. Thus, the algorithm processes, matchesand merges a plurality of accounts, whether financial accounts, emailaccounts, frequent flyer accounts or other account types, to assist auser in switching accounts from one institution to another.

Once the plurality of accounts, for example two accounts, are determinedas being the same account based on the algorithm, then the overlappingtransactions themselves are matched, and then the accounts may be mergedinto one and the same account at a new financial institution orotherwise. The result is to allow the new, more reliable, or at least,up-to-date aggregation source to have all the old data with the customadditions appended to the new data.

Referring now to FIG. 1, a method and system for moving at least oneaccount from one institution to another, such as a financialinstitution, over a network of computers in a computing environment willbe discussed. As illustrated, the method 100 may comprise receiving intocomputer memory a request from a user to move at least one account, or aplurality of accounts, between a first institution and a secondinstitution at 110. It will be appreciated that the institution may alsobe a data aggregator, or may be a financial institution itself, or otherinstitutions that provide user accounts without departing from the scopeof the disclosure. At 120, information and data relating to the at leastone old account, which may correspond to the request from the user, isretrieved and stored in computer memory. The old account datacorresponding to the request may be retrieved from the first institutionand the old account data may be stored into computer readable memory.The data retrieved may include, but is not limited to, account numbers,transaction types, transaction categories, transaction, classification,as well as details relating to the transaction, such as the descriptionof the transaction, the date of the transaction, the amount of thetransaction and so forth depending upon the type of account.

At 130, the retrieved data and information from the accounts may bematched to determine whether the accounts are the same. Often theaggregated data entries will have discrepancies in form that are not anexact match even for the same transaction. In such a case, these systemsmay accept entries that differ within a threshold amount as the sameentry, rather than seeing them as duplicate entries. In other words, ifthe account data and information meet a certain threshold for accuracy,which may be a predetermined threshold (such as, for example, 80% orgreater field match) or a threshold determined on the fly, then theaccounts are verified or confirmed as being the same account and thedata and information are merged together. It will be appreciated thatfield values from the old account data retrieved from computer memorymay be scraped for data values, and the data values that are obtainedfrom the field values may be stored in computer readable memory.

At 140, forms or other documentation to open or create a new account maybe filled out automatically. The field values stored at 130 may beretrieved from computer memory and the form fields may be automaticallypopulated. Additionally, based on the information provided by the useror the form fields may be manually populated in the new account withscraped field values as required by the second institution in order tocreate the at least one new account with the second institution.

At 150, account information and data is transferred from the old accountat the first institution to the new account at the second institution.At 160, the corresponding old account at the first institution may beclosed or otherwise merged into the new account.

Referring now to FIG. 2, it will be appreciated that the method andsystem may be similar to that illustrated in FIG. 1 with the followingdistinctions. In an implementation of the retrieval process at 220, theold account data may be retrieved through a direct applicationprogramming interface (API) at 222. In an implementation of theretrieval process at 220, the old account data may be retrieved from anaggregation provider at 224. In an implementation at 220, the oldaccount data may be retrieved from a combination of both a directapplication programming interface and from an aggregation provider. At230, the field values from the old account data may be retrieved fromcomputer memory and scraped. The data obtained or scraped from the fieldvalues may be stored in computer readable memory for later use inmatching and merging at 240. At 250, forms may be automatically ormanually filled out. Form fields within the new account may be populatedwith field values retrieved from the computer memory as required by thesecond institution in order to create the at least one new account withthe second institution.

At 260, account information and data is transferred from the old accountat the first institution to the new account at the second institution.At 270, the corresponding old account at the first institution may beclosed or otherwise merged into the new account.

Referring now to FIG. 3, it will be appreciated that the method andsystem may be similar to that illustrated in FIGS. 1-2 with thefollowing distinctions. The process of matching and merging account dataand information at 340 may include matching the account data byoverlaying transaction data during a certain, specified period of timeto determine matches at 342. Once the account information has beenmatched at 342, there may be a verification process at 344 to determinewhether the accounts are the same. In an implementation, theverification may be a prompt provided to a user to verify that theaccounts are the same, or the verification may be financial transactioncomparisons, or the verification may be some combination of the above,or any other verification process. At 346, the verified accounts may bemerged into one account.

In an implementation, the system and method of determining whether theplurality of accounts are in fact the same or not may be determinedbased on a probability that the accounts are the same account. Severalfactors may be used to make the determination that the accounts are thesame. It will be understood that any system and method that includes anyformula for determining whether the accounts are the same may beimplemented into and utilized by the disclosure, and the disclosure isnot limited by the examples discussed herein.

Once the plurality of accounts, for example two accounts, are determinedas being the same, the overlapping transactions themselves may bematched and transferred. Then the accounts may be merged into one andthe same account. The result is to allow a new more reliable,up-to-date, or simply selected aggregation source to have all the olddata from the first institution with any and all of the custom additionsappended to the new data and new account at the second institution.Therefore, when it is desired to switch data aggregators or institutionsor otherwise, it is typically desirable to keep the historical data fromthe previous aggregator, institution or otherwise and to merge with itor append to it the data from the new aggregator, new institution orotherwise.

It will be appreciated that due to differences in the type of dataorganization used by different aggregators, or institutions, anddifferences in the descriptions or names of the fields of data, it maynot be immediately apparent whether the data fields match or not. Thedisclosure analyzes and assesses sample transactions from the data fromthe plurality of aggregators, or institutions, for example twoinstitutions, and compare fields for a match. For example, the last 10transactions or specified a date range, for example 30 days, 60 days, 90days, 120 days etc. depending on the type of transaction and theregularity or occurrence of the transactions, may be compared. If thosetransactions match for a large percentage of the fields compared, thenthe system can conclude that it is highly likely or probable that theaccounts are the same. If the accounts are viewed as being likely beingthe same then the system can reformat the data if necessary and, whereappropriate and/or desired, merge the data from the plurality ofaggregators or institutions. For example, if the system determines thatfields determined by a user to be important fields, such as transactiondescription, transaction amount, transaction date, vendor, etc. matchfor several transactions, then a match may be determined to haveoccurred and the data may be merged.

This process can be viewed as a field-by-field match or overlay. In animplementation, the system may conclude that there is a match if acertain specified percentage of the fields (or verification criteria)match or is larger than a threshold, such as 80%, or between 80% and99%, including all percentages in between, or some other desired matchsuccess threshold. It will be appreciated that the threshold may be anysuitable measure or range, and may be predetermined or may be adjustedon the fly without departing from the scope of the disclosure. In animplementation thresholds may be adjusted to control the output of anygiven process within the disclosure. For example, in a situation where auser is able check the accuracy of the matching, the number oftransactions to check can be limited by tightening the threshold duringoperation of the method.

Referring now to FIG. 4, it will be appreciated that the method andsystem 400 may be similar to that illustrated in FIGS. 1-3 with thefollowing distinctions. The process of matching a plurality of userspecified anticipated accounts to a plurality of old accounts bycomparing account data of the old accounts to attributes of the userspecified accounts is illustrated at 440. As illustrated in the figure,if after the old account information is retrieved at 420, initiallymatched at 430 and it is determined at 440 that the threshold is not metthen additional account information, such as transaction data, may beretrieved, scraped, pulled and compared. The process of layering overdata or overlaying transaction data during a certain period of time,such as a 30 day window or a 60 day window depending upon the number andregularity of transactions, to determine matches at 430, 440 and whetherto merge accounts at 450 is within the scope of the disclosure. Forexample, distinctive fields may be retrieved at 448 and compared from aplurality of accounts, for example two accounts, using transactionmatching at 446 such that the accounts may be identified as beingpotentially the same account, but that may not initially meet adetermined threshold. The comparison may help confirm or verify that theaccounts are in fact the same and can be merged at 450 based onadditional information retrieved at 448 that may be compared and matchedat 446. The distinctive fields that may be compared may include, but arenot limited to, dates of the transactions, descriptions of thetransactions, amounts of the transactions, and other identifyinginformation, which may be overlaid.

It will be appreciated that the data contained in the distinctive fieldsof a transaction may be displayed differently by different aggregatorsor institutions. The display of the transaction data may depend upon anumber of factors, including the type of transaction (debit card, creditcard, check, deposit, etc.), the processor of the transaction, or theaggregator that pulled in the data because different aggregators may bepulling descriptions of the transaction, amounts of the transaction, andother identifying information from different sources. In any event, thedifferently displayed data may be combined or overlaid with where theaccount information was found, the account type, and what other accountsare already at the aggregator or at the institution or any combinationof the above. Depending on the threshold, which can be determined on thefly or may be predetermined based on statistical probabilities, if thematch is still below a certain threshold then the match may need a humanconfirmation prompting and asking the user whether or not to merge theaccounts. Once the transaction matching has occurred and the statisticalprobability has increased above the threshold or the user has verifiedthe accuracy, then the accounts may be merged at 450 and accountstransferred at 460 and/or closed at 470 as illustrated.

Thus, the plurality of old accounts may be compared to the plurality ofuser specified anticipated accounts using a predetermined matchingthreshold. At 448, the process may further comprise retrievingadditional old account data if the predetermined matching threshold isnot satisfied and comparing old accounts to anticipated accounts usingthe predetermined matching threshold. The additional old account datamay comprise transaction data corresponding to each of the old accountsin order to better identify and match specific accounts. The process mayfurther comprise using a predetermined or dynamic matching threshold forcomparing individual transactions within the transaction datacorresponding to each of the old accounts. If the threshold isdetermined as being met initially or at any time during the process at440, then the accounts are merged at 450.

Referring now to FIG. 5, it will be appreciated that the method andsystem may be similar to that illustrated in FIGS. 1-4 with thefollowing distinctions. In an implementation illustrated in the figure,the process of transaction matching at 546 the individual transactionswithin the transaction data may be accomplished using string matching at546A. In an implementation illustrated in the figure, the individualtransactions within the transaction data may be matched using fuzzypattern matching at 546B. In an implementation illustrated in thefigure, the individual transactions within the transaction data may bematched using crowd sourcing at 546C. It will be appreciated that in animplementation any of the above or any combination of the above matchingmodels may be utilized by the disclosure, including the Levenshteinmodel or other string metrics without departing from the scope of thedisclosure.

Referring now to FIGS. 6-7, it will be appreciated that the method andsystem may be similar to that illustrated in FIGS. 1-5 with thefollowing distinctions. The method and system 600 may output populatedform fields of the new accounts to a user at 630 for accuracyverification or confirmation by a user at 650 to merge or otherwisetransfer the accounts at 660 as illustrated best in FIG. 6. In FIG. 7,the method and system 700 may comprise checking the populated formfields for accuracy using any statistical or other known method.

Referring now to FIGS. 8 and 9, it will be appreciated that the methodand system may be similar to that illustrated in FIGS. 1-7 with thefollowing distinctions. Referring now to FIG. 8, there is illustrated aflow chart of an implementation of a method and system for moving atleast one account from one institution to another over a network ofcomputers using an optimized aggregation router to collect user accountinformation and data where user accounts are compared to expected oranticipated account information using transaction matching and alsoimplementing an accuracy check by the user in accordance with theprinciples and teachings of the disclosure. The method and system mayfurther comprise selecting an optimal aggregation router dependent onthe first institution and the old account data and attributes.

Referring now to FIG. 9, there is illustrated a flow chart of animplementation of a method and system for moving at least one accountfrom one institution to another over a network of computers using directaccess with an application programming interface to collect user accountinformation and data where user accounts are compared to expected oranticipated account information using transaction matching and alsoimplementing an accuracy check by the user in accordance with theprinciples and teachings of the disclosure. The method and system mayfurther comprise directly accessing the application programminginterface of an institution dependent on the first institution and theold account data and attributes.

Referring now to FIGS. 10-11, there are illustrated a schematicrepresentation of computer hardware and protocols that enable thevarious implementations disclosed herein. FIG. 11 illustrates animplementation of an exemplary computing network that may be used by thefinancial industry. As can be seen in the figure, a user 1110 may be inelectronic communication through a computing network 1115 with aplurality of financial institutions 1125 a, 1125 b, 1125 c . . . 1125 n.The user 1110 may access the network 1115 through a personal financialmanager (PFM) 1111 that may be provided by one of the financialinstitutions 1125 or may be provided by a third party provider. In orderto make use of the vast amounts of financial data available from thevarious financial institutions 1125, a plurality of aggregation sources1117 may be used by the system to aggregate financial informationthrough an application program interface (API) 1123. As illustrated, theaggregation sources may utilize computing components such as servers1118 a, 1118 b, 1118 c each managing databases 1119 a, 1119 b, 1119 c.It should be noted that in some implementations, the network may be theinternet or alternatively the network may be a proprietary networksystem. The network 1115 may operate according to typical networkingprotocols and security programs as is known in the industry.

Implementations of the disclosure may comprise or utilize a specialpurpose or general-purpose computer, including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Implementations within the scope of thedisclosure may also include physical and other computer-readable mediafor carrying or storing computer-executable instructions and/or datastructures. Such computer-readable media can be any available media thatcan be accessed by a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

It will be appreciated that a “network” is defined as one or more datalinks that enable the transport of electronic data between computersystems and/or modules and/or other electronic devices. When informationis transferred or provided over a network or another communicationsconnection (either hardwired, wireless, or a combination of hardwired orwireless) to a computer, the computer properly views the connection as atransmission medium. Transmissions media can include a network and/ordata links, which can be used to carry desired program code means in theform of computer-executable instructions or data structures and whichcan be accessed by a general purpose or special purpose computer.Combinations of the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structuresthat can be transferred automatically from transmission media tocomputer storage media (devices) (or vice-versa). For example,computer-executable instructions or data structures received over anetwork or data link can be buffered in RAM within a network interfacemodule (e.g., a “NIC”), and then eventually transferred to computersystem RAM and/or to less volatile computer storage media (devices) at acomputer system. RAM can also include solid state drives (SSDs or PCIxbased real time memory tiered storage, such as FusionIO). Thus, itshould be understood that computer storage media (devices) can beincluded in computer system components that also (or even primarily)utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, hand pieces,multi-processor systems, microprocessor-based or programmable consumerelectronics, network PCs, minicomputers, mainframe computers, mobiletelephones, PDAs, tablets, pagers, routers, switches, various storagedevices, and the like. It should be noted that any of the abovementioned computing devices may be provided by or located within a brickand mortar location. The disclosure may also be practiced in distributedsystem environments where local and remote computer systems, which arelinked (either by hardwired data links, wireless data links, or by acombination of hardwired and wireless data links) through a network,both perform tasks. In a distributed system environment, program modulesmay be located in both local and remote memory storage devices.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) or field programmable gate arrays (FPGAs)can be programmed to carry out one or more of the systems and proceduresdescribed herein. Certain terms are used throughout the followingdescription and Claims to refer to particular system components. As oneskilled in the art will appreciate, components may be referred to bydifferent names. This document does not intend to distinguish betweencomponents that differ in name, but not function.

Referring specifically now to FIG. 10, there is illustrated a blockdiagram of an example computing device 1000. Computing device 1000 maybe used to perform various procedures, such as those discussed herein.Computing device 1000 can function as a server, a client, or any othercomputing entity. Computing device 1000 can perform various monitoringfunctions as discussed herein, and can execute one or more applicationprograms, such as the application programs described herein. Computingdevice 1000 can be any of a wide variety of computing devices, such as adesktop computer, a notebook computer, a server computer, a handheldcomputer, tablet computer and the like.

Computing device 1000 includes one or more processor(s) 1002, one ormore memory device(s) 1004, one or more interface(s) 1006, one or moremass storage device(s) 1008, one or more Input/Output (I/O) device(s)1010, and a display device 1030 all of which are coupled to a bus 1012.Processor(s) 1002 include one or more processors or controllers thatexecute instructions stored in memory device(s) 1004 and/or mass storagedevice(s) 1008. Processor(s) 1002 may also include various types ofcomputer-readable media, such as cache memory.

Memory device(s) 1004 include various computer-readable media, such asvolatile memory (e.g., random access memory (RAM) 1014) and/ornonvolatile memory (e.g., read-only memory (ROM) 1016). Memory device(s)1004 may also include rewritable ROM, such as Flash memory.

Mass storage device(s) 1008 include various computer readable media,such as magnetic tapes, magnetic disks, optical disks, solid-statememory (e.g., Flash memory), and so forth. As shown in FIG. 10, aparticular mass storage device is a hard disk drive 1024. Various drivesmay also be included in mass storage device(s) 1008 to enable readingfrom and/or writing to the various computer readable media. Mass storagedevice(s) 1008 include removable media 1026 and/or non-removable media.

I/O device(s) 1010 include various devices that allow data and/or otherinformation to be input to or retrieved from computing device 1000.Example I/O device(s) 1010 include cursor control devices, keyboards,keypads, microphones, monitors or other display devices, speakers,printers, network interface cards, modems, image capture devices, andthe like.

Display device 1030 includes any type of device capable of displayinginformation to one or more users of computing device 1000. Examples ofdisplay device 1030 include a monitor, display terminal, videoprojection device, and the like.

Interface(s) 1006 include various interfaces that allow computing device1000 to interact with other systems, devices, or computing environments.Example interface(s) 1006 may include any number of different networkinterfaces 1020, such as interfaces to local area networks (LANs), widearea networks (WANs), wireless networks, and the Internet. Otherinterface(s) include user interface 1018 and peripheral device interface1022. The interface(s) 1006 may also include one or more user interfaceelements 1018. The interface(s) 1006 may also include one or moreperipheral interfaces such as interfaces for printers, pointing devices(mice, track pad, etc.), keyboards, and the like.

Bus 1012 allows processor(s) 1002, memory device(s) 1004, interface(s)1006, mass storage device(s) 1008, and I/O device(s) 1010 to communicatewith one another, as well as other devices or components coupled to bus1012. Bus 1012 represents one or more of several types of busstructures, such as a system bus, PCI bus, IEEE 1394 bus, USB bus, andso forth.

For purposes of illustration, programs and other executable programcomponents are shown herein as discrete blocks, although it isunderstood that such programs and components may reside at various timesin different storage components of computing device 1000, and areexecuted by processor(s) 1002. Alternatively, the systems and proceduresdescribed herein can be implemented in hardware, or a combination ofhardware, software, and/or firmware. For example, one or moreapplication specific integrated circuits (ASICs) or field programmablegate arrays (FPGAs) can be programmed to carry out one or more of thesystems and procedures described herein.

The foregoing description has been presented for the purposes ofillustration and description. It is not intended to be exhaustive or tolimit the disclosure to the precise form disclosed. Many modificationsand variations are possible in light of the above teaching. Further, itshould be noted that any or all of the aforementioned alternateimplementations may be used in any combination desired to formadditional hybrid implementations of the disclosure.

Further, although specific implementations of the disclosure have beendescribed and illustrated, the disclosure is not to be limited to thespecific forms or arrangements of parts so described and illustrated.The scope of the disclosure is to be defined by the claims appendedhereto, any future claims submitted here and in different applications,and their equivalents.

What is claimed is:
 1. A method for moving at least one account from oneinstitution to another over a network of computers comprising: receivinginto computer memory a request from a user to move at least one accountbetween a first institution and a second institution; retrieving oldaccount data corresponding to the request from the first institution andstoring the old account data into readable memory; scraping field valuesfrom the old account data retrieved from computer memory and storingsaid field values in computer memory; populating form fields within atleast one new account with field values retrieved from the computermemory as required by the second institution in order to create the atleast one new account with the second institution; closing correspondingold account with the first institution.
 2. The method of claim 1,wherein the account data is retrieved through a direct applicationprogramming interface.
 3. The method of claim 1, wherein the accountdata is retrieved from an aggregation provider.
 4. The method of claim1, further comprising matching a plurality of user specified anticipatedaccounts to a plurality of old accounts by comparing account data of theold accounts to attributes of the user specified accounts.
 5. The methodof claim 4, further comprising comparing the plurality of old accountsto the plurality of user specified anticipated accounts using apredetermined matching threshold.
 6. The method of claim 5, furthercomprising retrieving additional old account data if the predeterminedmatching threshold is not satisfied and comparing old accounts toanticipated accounts using the predetermined matching threshold.
 7. Themethod of claim 6, wherein the additional old account data comprisestransaction data corresponding to each of the old accounts.
 8. Themethod of claim 7, further comprising using a predetermined matchingthreshold for comparing individual transactions within the transactiondata corresponding to each of the old accounts.
 9. The method of claim8, wherein the individual transactions within the transaction data arematched using string matching.
 10. The method of claim 8, wherein theindividual transactions within the transaction data are matched usingfuzzy pattern matching.
 11. The method of claim 8, wherein theindividual transactions within the transaction data are matched usingcrowd sourcing.
 12. The method of claim 1, further comprising outputtingthe populated form fields of the new accounts to a user forverification.
 13. The method of claim 1, further comprising checking thepopulated form fields for accuracy.
 14. The method of claim 1, furthercomprising selecting an optimal aggregation router dependent on thefirst institution and the old account data and attributes.
 15. A systemfor moving at least one account from one institution to another over anetwork of computers comprising computing hardware and software whereinthe software comprises computer readable instructions that cause thecomputing hardware to: receive a request from a user to move a pluralityof accounts between a first institution and a second institution,wherein the request is stored in the computer memory; retrieve oldaccount data corresponding to the request from the first institution;scrape field values from the old account data and storing said fieldvalues in computer memory; populate form fields within a plurality ofnew accounts with field values retrieved from the computer memory asrequired by the second institution in order to create the new accountswith the second institution; close old accounts with the firstinstitution.
 16. The system of claim 15, wherein the account data isretrieved through a direct application programming interface.
 17. Thesystem of claim 15, wherein the account data is retrieved from anaggregation provider.
 18. The system of claim 17, further comprisingmatching a plurality of user specified anticipated accounts to the oldaccounts by comparing account data of the old accounts to attributes ofthe user specified accounts.
 19. The system of claim 18, furthercomprising comparing old accounts to anticipated accounts using apredetermined matching threshold.
 20. The system of claim 19, furthercomprising retrieving additional old account data if the predeterminedmatching threshold is not satisfied and comparing old accounts toanticipated accounts using the predetermined matching threshold.
 21. Thesystem of claim 20, wherein the additional old account data comprisestransaction data corresponding to each of the old accounts.
 22. Thesystem of claim 21, further comprising using a predetermined matchingthreshold for comparing individual transactions within the transactiondata corresponding to each of the old accounts.
 23. The system of claim22, wherein the individual transactions within the transaction data arematched using string matching.
 24. The system of claim 22, wherein theindividual transactions within the transaction data are matched usingfuzzy pattern matching.
 25. The system of claim 22, wherein theindividual transactions within the transaction data are matched usingcrowd sourcing.
 26. The system of claim 15, further comprisingoutputting the populated form fields of the new accounts to a user forverification.
 27. The system of claim 15, further comprising checkingthe populated form fields for accuracy.
 28. The system of claim 15,further comprising selecting an optimal aggregation router dependent onthe first institution and the old account data and attributes.